package com.hhxy.reflect;


import java.lang.reflect.Field;

//Class类中：获取类对象中的成员变量的四种方法
public class ReflectDemo2 {
    public static void main(String[] args) throws Exception {
        //获取类对象
        Class sClass = Student.class;
        /* 1.getFields()方法获取public修饰的所有成员变量*/
        Field[] fields1 = sClass.getFields();
        for (Field f : fields1) {
            System.out.println(f);
        }
        System.out.println("------------------------------------");
        /* 2.getFields(String st)方法获取指定名称的public修饰的成员变量*/
        Field field = sClass.getField("a");
        System.out.println(field);
        System.out.println("-------------------------------------");
        /*3.getDeclaredFields()方法获取所有成员变量，不考虑修饰符*/
        Field[] fields2 = sClass.getDeclaredFields();
        for(Field f:fields2){
            System.out.println(f);
        }
        System.out.println("-------------------------------------");
        /*4.使用Field getDeclaredField(String st)方法获取指定成员变量，不考虑修饰符 */
        Field field2 = sClass.getDeclaredField("address");
        System.out.println(field2);
        System.out.println("=====================================");
    }
}
